Energy modelling of multi-threaded, multi-core software for embedded systems
نویسنده
چکیده
Efforts to reduce energy consumption are being made across all disciplines. ICT’s contribution to global energy consumption and by-products such as CO2 emissions continues to grow, making it an increasingly significant area in which improvements must be made. This thesis focuses on software as a means to reducing energy consumption. It presents methods for profiling and modelling a multi-threaded, multi-core embedded processor at the instruction set level, establishing links between the software and the energy consumed by the underlying hardware. A framework is presented that profiles the energy consumption characteristics of a multi-threaded processor core, associating energy consumption with the instruction set and parallelism present in a multi-threaded program. This profiling data is used to build a model of the processor that allows instruction set simulations to be used to estimate the energy that programs will consume, with an average of 2.67 % error. The profiling and modelling is then raised to the multi-core level, examining a channel based message passing system formed of a network of embedded multi-threaded processors. Additional profiling is presented that determines network communication costs as well as giving consideration towards system level properties such as power supply efficiency. Then, this is used to form a system level energy model that can estimate consumption using simulations of multi-core programs. The system level model combines multiple instances of a core energy model with a network level communication cost model. The broader implications of this work are explored in the context of other embedded and multi-core processor architectures, identifying opportunities for expanding or transferring the models. The models in this thesis are formed at the instruction set level, but have been demonstrated to be effective at higher-levels of abstraction than instruction set simulation, through their support of further work carried out externally. This work is enabled by several pieces of development effort, including a profiling framework for taking power measurements of the devices under investigation, tools for programming, routing and debugging software on a multi-core hardware platform called Swallow, and enhancements to an instruction set simulator for the simulation of this multi-core system. Through the work of this thesis, an embedded software developer for multi-threaded and multi-core systems is equipped with tools, techniques and new understanding that can help them in determining how their software consumes energy. This raises the status of energy efficiency in the software development cycle as we continue our efforts to minimise the energy impact of the world’s embedded devices.
منابع مشابه
Modeling and visualizing networked multi-core embedded software energy consumption
In this report we present a network-level multi-core energy model and a software development process workflow that allows software developers to estimate the energy consumption of multi-core embedded programs. This work focuses on a high performance, cache-less and timing predictable embedded processor architecture, XS1. Prior modelling work is improved to increase accuracy, then extended to be...
متن کاملEnergy Modelling of Software for a Hardware Multi-threaded Embedded Microprocessor
This paper examines a hardware multi-threaded microprocessor and discusses the impact such an architecture has on existing software energy modelling techniques. A framework is constructed for analysing the energy behaviour of the XMOS XS1-L multi-threaded processor and a variation on existing software energy models is proposed, based on analysis of collected energy data. It is shown that by com...
متن کاملBasic System-Level Software for a Single-Core MERASA Processor
In the EC FP-7 MERASA project a hard real-time capable multi-core processor is developed. The system-level software represents an abstraction layer between application software and embedded hardware. It has to provide basic functions of a real-time operating system. This report presents requirements for a multi-threaded hard real-time capable system-level software in embedded systems and the tr...
متن کاملGenerating Multi-Threaded code from Polychronous Specifications
SIGNAL, Lustre, Esterel, and a few other synchronous programming language compilers accomplish automated sequential code generation from synchronous specifications. In generating sequential code, the concurrency expressed in the synchronous programs is sequentialized mostly because such embedded software was designed to run on single-core processors. With the widespread advent of multi-core pro...
متن کاملMulti-Core Code Generation from Polychronous Programs with Time-Predictable Properties
Synchronous programming models capture concurrency in computation quite naturally, especially in its dataflow multi-clock (polychronous) flavor. With the rising importance of multi-core processors in safety-critical embedded systems or cyber-physical systems (CPS), there is a growing need for model-driven generation of multi-threaded code for multi-core systems. This paper proposes a build meth...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015